'use strict'

define([ 'jquery', 'bootstrap', 'shiftform', 'validate', 'validate.en' ], function($) {
	
  return {
		init : function() {
			this.initCreate();
			this.initEdit();
			this.uploadCover();
			this.editDisplay();
			this.initDelete();
		},
	
  	initCreate: function() {
  		$(document).on('shown.bs.modal', '#add', function(e){
  
    	  $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
        
        var $form = $(e.currentTarget).find("form")                          //bind shiftform
        $form.shiftform({
          beforeSubmit : function(el) {
            $form.trigger("validate.ajax.submit");
            return $.bt_validate.result[$.bt_validate.form_id]
          }
        })
      })
  	},
  	
  	initEdit: function() {
  		$(document).on('shown.bs.modal', '#edit', function(e){
  
  		  $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
        
        var $form = $(e.currentTarget).find("form")                          //bind shiftform
        $form.shiftform({
          beforeSubmit : function(el) {
            $form.trigger("validate.ajax.submit");
            return $.bt_validate.result[$.bt_validate.form_id]
          }
        })
      })
  	},
  	
  	uploadCover: function() {
      $(document).on('shown.bs.modal', '#upload-cover', function(e){
  
        $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
        
        var $form = $(e.currentTarget).find("form")              //bind shiftform
        return $.bt_validate.result[$.bt_validate.form_id]
        
      })
    },
  	
    editDisplay: function() {
      $(document).on('shown.bs.modal', '#edit-display', function(e){
        var $form = $(e.currentTarget).find("form")                          //bind shiftform
        $form.shiftform();
      })
    },
    
  	initDelete: function() {
  		$(document).on('shown.bs.modal', '#delete', function(e){
  
  		  $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
        
        var $form = $(e.currentTarget).find("form")                          //bind shiftform
        $form.shiftform({
          beforeSubmit : function(el) {
            $form.trigger("validate.ajax.submit");
            return $.bt_validate.result[$.bt_validate.form_id]
          }
        })
        
      })
  	}

	}
})
